package com.iqiyi.pps.epg.core.model.ticket;

/**
 * Created by karkarrotxu on 2017/8/29.
 */

import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;

import javax.persistence.*;
import java.sql.Timestamp;

@Entity
@Table(name = "ticket_data")
@Cache(usage = CacheConcurrencyStrategy.NONE)
public class TicketData {
    private long id;
    private int dataType;
    private String title;
    private int priority;
    private int status;
    private String reporter;
    private String executor;
    private String detail;
    private int version;
    private Timestamp addTime;
    private Timestamp updateTime;
    private long resourceId;
    private Timestamp completeTime;
    private String deadline;

    //oa relation
    private String oaDocNo = null;
    private String oaDocEditorStatus = null;
    private String oaDocUrl = null;

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    public long getId() {
        return this.id;
    }

    public void setId(long id) {
        this.id = id;
    }

    @Column(name = "data_type")
    public int getDataType() {
        return this.dataType;
    }

    public void setDataType(int dataType) {
        this.dataType = dataType;
    }

    @Column(name = "title")
    public String getTitle() {
        return this.title;
    }

    public void setTitle(String title) {
        this.title = title;
    }

    @Column(name = "priority")
    public int getPriority() {
        return this.priority;
    }

    public void setPriority(int priority) {
        this.priority = priority;
    }

    @Column(name = "status")
    public int getStatus() {
        return this.status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    @Column(name = "reporter")
    public String getReporter() {
        return this.reporter;
    }

    public void setReporter(String reporter) {
        this.reporter = reporter;
    }

    @Column(name = "executor")
    public String getExecutor() {
        return this.executor;
    }

    public void setExecutor(String executor) {
        this.executor = executor;
    }

    @Column(name = "detail")
    public String getDetail() {
        return this.detail;
    }

    public void setDetail(String detail) {
        this.detail = detail;
    }

    @Column(name = "version")
    public int getVersion() {
        return this.version;
    }

    public void setVersion(int version) {
        this.version = version;
    }

    @Column(name = "add_time")
    public Timestamp getAddTime() {
        return this.addTime;
    }

    public void setAddTime(Timestamp addTime) {
        this.addTime = addTime;
    }

    @Column(name = "update_time", insertable = false, updatable = false)
    public Timestamp getUpdateTime() {
        return this.updateTime;
    }

    public void setUpdateTime(Timestamp updateTime) {
        this.updateTime = updateTime;
    }

    @Column(name = "resource_id")
    public long getResourceId() {
        return resourceId;
    }

    public void setResourceId(long resourceId) {
        this.resourceId = resourceId;
    }

    @Column(name = "complete_time")
    public Timestamp getCompleteTime() {
        return completeTime;
    }

    public void setCompleteTime(Timestamp completeTime) {
        this.completeTime = completeTime;
    }

    @Column(name = "deadline")
    public String getDeadline() {
        return deadline;
    }

    public void setDeadline(String deadline) {
        this.deadline = deadline;
    }

    @Column(name = "oa_doc_no" , insertable = true, updatable = false)
    public String getOaDocNo() {
        return oaDocNo;
    }

    public void setOaDocNo(String oaDocNo) {
        this.oaDocNo = oaDocNo;
    }
    @Column(name = "oa_doc_url" , insertable = true, updatable = false)
    public String getOaDocUrl() {
        return oaDocUrl;
    }

    public void setOaDocUrl(String oaDocUrl) {
        this.oaDocUrl = oaDocUrl;
    }

    @Column(name = "oa_doc_editor_status" , insertable = true, updatable = false)
    public String getOaDocEditorStatus() {
        return oaDocEditorStatus;
    }

    public void setOaDocEditorStatus(String oaDocEditorStatus) {
        this.oaDocEditorStatus = oaDocEditorStatus;
    }
}